package doc2db.table;

/**
 * DocTableCell
 * @author yuriy
 */
public class DocTableCell {
    /**содержание                            */
    private String name  = "";
    /**имя заголовка (тип заголовка)         */
    private String head  = "";
    /**длина ячейки                          */
    private int    len   =  0;
    /**сколько ячейка обьеденяет в себе ячеек*/
    public  int    split =  1;

    public DocTableCell () {

    }

    public DocTableCell (DocTableCell c) {
        name = c.getName();
        head = c.getHead();
        len  = c.getLen() ;
    }

    /**
     * @param n содержание
     */
    public DocTableCell (String n){
        name = n;
    }

    /**
     * @param n содержание
     * @param h имя заголовка (тип заголовка)
     */
    public DocTableCell (String n, String h){
        name = n.trim();
        head = h.toLowerCase().trim();
    }

    /**
     * @param n содержание
     * @param h имя заголовка (тип заголовка)
     * @param l длина ячейки
     */
    public DocTableCell (String n, String h, int l){
        this(n, h);
        len = l;
    }

    /**
     * узнать имя заголовка (тип заголовка)
     * @return head
     */
    public String getHead() {
        return head;
    }

    /**
     * установить имя заголовка (тип заголовка)
     * @param head head
     */
    public void setHead(String head) {
        this.head = head;
    }

    /**
     * узнать содержание
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * установить содержание
     * @param name name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * установить  длина ячейки
     * @return len
     */
    public int getLen(){
        return len;
    }

    /**
     * узнать длина ячейки
     * @param l len
     */
    public void setLen(int l){
        len = l;
    }

    public boolean isZero(){
        return ( (name.length() + head.length()) < 2 );
    }

    public DocTableCell[] toCellArray(){
        if(split == 0) split = 1;
        DocTableCell ret [] = new DocTableCell[split];
        for (int i = 0; i < ret.length; i++) 
            ret[i] = new DocTableCell(name, head, (len / split));
        return ret;
    }

    @Override
    public String toString() {
        return "[" + name + " : " + head + "(" + len + "|" + split + ")]";
    }


}
